import { isUrl } from '../utils/utils';

const menuData = [
  //   {
  //   name: 'dashboard',
  //   icon: 'dashboard',
  //   path: 'dashboard',
  //   children: [{
  //     name: '分析页',
  //     path: 'analysis',
  //   }, {
  //     name: '监控页',
  //     path: 'monitor',
  //   }, {
  //     name: '工作台',
  //     path: 'workplace',
  //     // hideInMenu: true,
  //   }],
  // }
  // ,
  //  {
  //   name: '表单页',
  //   icon: 'form',
  //   path: 'form',
  //   children: [{
  //     name: '基础表单',
  //     path: 'basic-form',
  //   }, {
  //     name: '分步表单',
  //     path: 'step-form',
  //   }, {
  //     name: '高级表单',
  //     authority: 'admin',
  //     path: 'advanced-form',
  //   }],
  // }, 
  {
    name: '列表页',
    icon: 'table',
    path: 'list',
    children: [{
      name: '任务列表',
      path: 'table-list',
    },
    {
      name: '机器列表',
      path: 'agents',
    }],
  },
  {
    name: '详情页',
    icon: 'profile',
    path: 'profile',
    hideInMenu: true,
    children: [{
      name: '任务详情页',
      path: 'basic',
    }, {
      name: 'Result详情页',
      path: 'advanced',
      authority: 'admin',
    }],
  }
];

// , {
//   name: '标准列表',
//   path: 'basic-list',
// }
// , {
//   name: '卡片列表',
//   path: 'card-list',
// }, {
//   name: '搜索列表',
//   path: 'search',
// children: [{
//   name: '搜索列表（文章）',
//   path: 'articles',
// }, {
//   name: '搜索列表（项目）',
//   path: 'projects',
// }, {
//   name: '搜索列表（应用）',
//   path: 'applications',
// }],
// }],
// }


//   name: '结果页',
//   icon: 'check-circle-o',
//   path: 'result',
//   children: [{
//     name: '成功',
//     path: 'success',
//   }, {
//     name: '失败',
//     path: 'fail',
//   }],
// }, {
//   name: '异常页',
//   icon: 'warning',
//   path: 'exception',
//   children: [{
//     name: '403',
//     path: '403',
//   }, {
//     name: '404',
//     path: '404',
//   }, {
//     name: '500',
//     path: '500',
//   }, {
//     name: '触发异常',
//     path: 'trigger',
//     hideInMenu: true,
//   }],
// }, {
//   name: '账户',
//   icon: 'user',
//   path: 'user',
//   authority: 'guest',
//   children: [{
//     name: '登录',
//     path: 'login',
//   }, {
//     name: '注册',
//     path: 'register',
//   }, {
//     name: '注册结果',
//     path: 'register-result',
//   }],
// }

function formatter(data, parentPath = '/', parentAuthority) {
  return data.map((item) => {
    let { path } = item;
    if (!isUrl(path)) {
      path = parentPath + item.path;
    }
    const result = {
      ...item,
      path,
      authority: item.authority || parentAuthority,
    };
    if (item.children) {
      result.children = formatter(item.children, `${parentPath}${item.path}/`, item.authority);
    }
    return result;
  });
}

export const getMenuData = () => formatter(menuData);
